﻿<?php
/* * 
 * 功能：支付宝页面跳转同步通知页面
 * 版本：3.2
 * 日期：2011-03-25
 * 说明：
 * 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用，只是提供一个参考。

 *************************页面功能说明*************************
 * 该页面可在本机电脑测试
 * 该页面称作“页面跳转同步通知页面”
 * 可放入HTML等美化页面的代码和商户业务逻辑处理程序代码
 * 该页面可以使用PHP开发工具调试，也可以使用写文本函数AlipayFunction.logResult，该函数已被默认关闭，见alipay_notify_class.php中的函数verifyReturn
 */

//header('Content-Type: text/html; charset=UTF-8');
define('IN_ECS', true);
require('../../includes/init.php');
include_once('../../includes/lib_common.php');
include_once('../../includes/lib_transaction.php');
include_once('../../includes/lib_passport.php');

require_once("alipay.config.php");
require_once("lib/alipay_notify.class.php");

//echo "suibian";
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($aliapy_config);
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {//验证成功
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//请在这里加上商户的业务逻辑程序代码
	
	//——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
    //获取支付宝的通知返回参数，可参考技术文档中页面跳转同步通知参数列表
    //$user_id	= $_GET['user_id'];	//支付宝用户id
   // $token		= $_GET['token'];	//授权令牌

	//执行商户的业务程序
	
	//echo "验证成功<br />";
	//echo "token:".$token;
	$user_id           = $_GET['user_id'];
	$_SESSION['alipay_token']=$_GET['token'];
	$alipay_realname           = trim($_GET['real_name']);
	if($user_id!==""){
  $username="alipay_".$user_id;
  $password=time();//随便弄个密码 反正没有用
  $email='@alipay.com';//支付宝没有返回邮箱 所以随便弄个 其他的可以根据返回情况而定
  $back_act ="/user.php";
        /* 检测用户名 */
  if (check_user($username)!==false){//账号存在直接完成登录
					$GLOBALS['user']->set_session($username);
					$GLOBALS['user']->set_cookie($username);
					update_user_info();
					recalculate_price();
					echo "<script>window.opener.location='/flow.php?step=checkout';</script> ";
					echo "<script>window.close();</script> ";		
					exit;
   }else{//账号不存在就完成注册并自动登录
   $reg_date = time();
   $password =md5($password);
   $ip=real_ip();
   $GLOBALS['db']->query('INSERT INTO ' . $GLOBALS['ecs']->table("users") . "(`email`, `user_name`, `password`, `reg_time`, `last_login`, `last_ip`, `msn`) VALUES ('$email', '$username', '$password', '$reg_date', '$reg_date', '$ip', '$alipay_realname')");
   $GLOBALS['user']->set_session($username); 
	$GLOBALS['user']->set_cookie($username);  
	update_user_info();
	recalculate_price();
					echo "<script>window.opener.location='/flow.php?step=checkout';</script> ";
					echo "<script>window.close();</script> ";		
					exit;
   }
}else{
  echo 'fail';
  exit;
  }
 //——请根据您的业务逻辑来编写程序（以上代码仅作参考）——
echo "验证成功<br />";	
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}else {
    //验证失败
    //如要调试，请看alipay_notify.php页面的return_verify函数，比对sign和mysign的值是否相等，或者检查$veryfy_result有没有返回true
    echo "验证失败";
}
function check_user($username){
$sql = "SELECT user_id, password, salt " .
                   " FROM " . $GLOBALS['ecs']->table("users").
                   " WHERE user_name='$username'";
            $row = $GLOBALS['db']->getRow($sql);
            if (!empty($row)){
    return true;
   }else{
    return false;
    }
	}
?>